Kaedah untuk mengelakkan pengesanan Virus_komputer

Untuk mengelakkan pengesanan oleh pengguna, sesetengah virus menggunakan berbagai-bagai jenis penipuan. Sesetengah virus yang lama, khususnya untuk pelantar MS-DOS, memastikan bahawa tarikh "pengubahsuaian terakhir" untuk fail perumah dikekalkan apabila fail itu dijangkiti oleh virus. Bagaimanapun, pendekatan ini tidak dapat menipu perisian anti-virus, khususnya perisian anti-virus yang mengekalkan dan mentarikhkan Kod Lewahan Sekitar apabila fail diubah.

Sesetengah virus juga boleh menjangkiti fail tanpa menambah saiz fail atau merosakkannya. Virus ini yang digelar "virus rongga" dapat mencapai perbuatan tersebut dengan menulis ganti kawasan-kawasan fail boleh laku yang tidak digunakan. Misalnya, virus CIH atau Virus Chernobyl boleh menjangkiti fail Boleh Laku Mudah Alih. Oleh sebab fail-fail itu mempunyai banyak sela, virus yang 1 KB panjangnya tidak akan menambah saiz fail yang dijangkiti. Sesetengah virus mencuba mengelakkan pengesanan dengan menghapuskan tugas-tugas yang dikaitkan dengan perisian anti-virus sebelum ia dapat mengesannya.

Ketika komputer-komputer dan sistem-sistem pengendalian berkembang menjadi lebih besar dan lebih rumit, teknik-teknik penyembunyian yang lebih lama perlu dikemas kini dan digantikan. Melindungi komputer anda daripada virus mungkin memerlukan sistem fail anda untuk berhijrah kepada kebenaran yang terperinci dan eksplisit bagi setiap jenis capaian fail.

Mengelakkan fail umpan dan lain-lain

Virus perlu menjangkiti perumah untuk merebak. Dalam sesetengah kes, penjangkitan atur cara perumah bukannya suatu cara yang baik kerana banyak atur cara anti-virus menyemak kewibawaan kod sendiri. Oleh itu, menjangkiti atur cara sedemikian akan menaikkan kemungkinannya untuk dikesan. Atas alasan ini, sesetengah virus diprogramkan supaya tidak akan menjangkiti atur cara yang merupakan sebahagian perisian anti-virus.

Lagi sejenis perumah yang virus kekadang akan mengelakkan ialah fail umpan (atau fail kambing). Fail umpan ialah fail yang dicipta khusus oleh perisian anti-virus atau oleh pencipta perisian anti-virus semata-mata untuk dijangkiti oleh virus. Fail-fail ini dicipta atas berbagai-bagai alasan, dengan kesemuanya berkait dengan pengesanan virus. Para pencipta perisian anti-virus boleh menggunakan fail umpan untuk:

  • Mengambil sampel virus, iaitu salinan fail atur cara yang dijangkiti oleh virus. Menukarkan sebuah fail umpan terjangkit yang kecil adalah lebih praktik, berbanding dengan menukarkan sebuah atur cara penggunaan terjangkit yang besar.
  • Mengkaji tindakan virus dan menilai kaedah-kaedah pengesanan. Ini adalah amat berguna apabila virus itu bersifat polimorf. Dalam kes ini, perisian anti-virus boleh membuat virus itu menjangkiti sebilangan besar fail umpan. Fail-fail yang terjangkit boleh digunakan untuk menguji tentang adakah pengimbas virus berkesan terhadap semua versi virus itu.
  • Mencetuskan perisian anti-virus supaya memberikan amaran kepada pengguna bahawa sistem komputernya mungkin dijangkiti oleh virus apabila fail-fail umpan diubah.

Oleh sebab fail-fail umpan digunakan untuk mengesan virus atau untuk memungkinkan pengesanan, sesebuah virus boleh memanfaatkan diri jika ia tidak menjangkiti fail-fail tersebut. Virus biasanya berbuat sedemikian dengan mengelakkan atur-atur cara yang menimbulkan kesangsian, seperti fail atur cara yang kecil atau atur cara yang mengandungi pola 'arahan sampah' yang tertentu.

Salah satu strategi yang digunakan oleh virus komputer untuk menjadikan fail umpan tidak berkesan ialah penjangkitan jarang. Penjangkit jarang kekadang tidak menjangkiti fail perumah yang merupakan calon yang sesuai dalam keadaan-keadaan yang lain. Umpamanya, virus boleh memutuskan secara rawak tentang adakah ia hendak menjangkiti sesuatu fail atau tidak. Sebaliknya, sesetengah virus hanya boleh menjangkiti fail perumah pada hari-hari yang tertentu dalam setiap minggu.

Cara sembunyi-sembunyi

Sesetengah virus mencuba menipu perisian anti-virus dengan menyekat permintaannya kepada sistem pengendalian. Virus tersebut boleh menyembunyikan diri dengan menyekat permintaan perisian anti-virus untuk membaca fail dan mengalihkan permintaan yang sepatutnya diterima oleh sistem pengendalian kepada virus. Virus itu kemudian akan mengembalikan versi fail yang tidak terjangkit kepada perisian anti-virus supaya fail itu kelihatan "bersih". Perisian anti-virus yang moden menggunakan berbagai-bagai teknik untuk mengatasi mekanisme virus yang sembunyi-sembunyi. Kaedah tunggal yang boleh dipercayai sepenuhnya untuk mengelakkan mekanisme sembunyi-sembunyi itu adalah untuk membut daripada medium yang kebersihannya diketahui.

Pengubahsuaian diri

Kebanyakan atur cara anti-virus yang moden mencuba mengesan pola-pola virus dalam atur cara biasa dengan mengimbasnya untuk mencari apa yang dipanggil tandatangan virus. Tandatangan virus ialah pola bait tipikal yang merupakan sebahagian virus atau keluarga virus yang tertentu. Jika sesuatu pengimbas virus menemukan pola sedemikian dalam sesuatu fail, ia akan memberitahu pengguna. Pengguna itu kemudian boleh menghapuskan, atau dalam sebilangan kes, "membersihkan" atau "menyembuhkan" fail yang terjangkit. Sesetengah virus menggunakan teknik-teknik yang menyebabkan pengesanan melalui tandatangan amat sukar tetapi bukan tidak mungkin. Virus-virus itu akan mengubah suai kodnya pada setiap penjangkitan, iaitu setiap fail yang terjangkit akan mengandungi kelainan virus yang berbeza.

Pengekodan dengan petunjuk berubah-ubah

Kaedah untuk mencipta virus yang lebih maju ialah penggunaan penyulitan untuk mengensifer sesuatu virus. Dalam kes ini, virus akan terdiri daripada dua bahagian, iaitu sebuah modul penyahsulitan yang kecil dan sebuah salinan penyulitan kod virus. Jika virus itu disulitkan dengan satu kunci yang tidak sama bagi setiap fail yang terjangkit, bahagian tunggal yang masih dikekalkan di dalam virus ialah modul penyahsulitan yang misalnya, akan dilampirkan pada hujung fail virus itu. Dalam kes sedemikian, pengimbas virus tidak dapat mengesan virus secara langsung melalui tandatangan, tetapi ia masih boleh mengesan modul penyahsulitan yang memungkinkan pengesanan virus secara tidak langsung. Oleh sebab ini merupakan kunci-kunci bersimetri yang disimpan dalam perumah yang terjangkit, virus terakhir sebenarnya masih boleh dinyahsulitkan tetapi perbuatan ini mungkin tidak diperlukan kerana kod mengubah suai diri adalah amat jarang sehingga pengimbas virus hanya diperlukan menandai fail itu sebagai menimbulkan kesangsian.

Salah satu penyulitan yang lama tetapi padat melibatkan penXORan setiap bait dalam virus dengan sesuatu pemalar, dengan a XOR b = c, dan c XOR b = a, supaya eksklusif atau operasi itu hanya perlu diulangi untuk penyahsulitan. Oleh sebab hanya kod yang menimbulkan kesangsian akan mengubah suai diri, kod itu tetap merupakan sebahagian tandatangan dalam banyak takrif virus dan dengan itu, dapat dikesan oleh perisian anti-virus dengan mudah.

Kod polimorf

Kod polimorf merupakan teknik pertama yang menimbulkan ancaman yang dahsyat kepada pengimbas virus. Serupa dengan virus tersulit yang biasa, virus polimorf akan menjangkiti fail-fail dengan sebuah salinan tersulit diri yang dinyahkod oleh modul penyahsulitan. Bagaimanapun, dalam kes-kes virus polimorf, modul penyahsulitan ini juga akan diubah suai setiap kali ia menjangkiti fail. Justera itu, sebuah virus polimorf yang ditulis dengan teliti tidak mempunyai sebarang bahagian yang tepat sama selepas setiap penjangkitan dan oleh itu, menyebabkannya amat sukar dikesan secara langsung dengan menggunakan tandatangan.

Perisian anti-virus boleh mengesan virus dengan menyahsulitkannya melalui penggunaan pelagak atau melalui analisis pola statistik tentang bahagian virus yang tersulit. Untuk membolehkan kod polimorf, virus harus mempunyai enjin polimorf (juga dikenali sebagai "enjin memutat" atau "enjin mutasi") di dalam bahagian tersulitnya. Sila lihat kod polimorf untuk perincian teknik tentang bagaimana enjin sedemikian berjalan.

Sesetengah virus menggunakan kod polimorf dengan cara yang menyekat kadar mutasi virus dengan nyata sekali. Umpamanya, virus boleh diatur cara supaya tidak banyak memutat atau langsung tidak memutat apabila ia menjangkiti fail-fail di dalam komputer yang telah mengandungi salinan-salinan virus. Kelebihan untuk menggunakan kod polimorf lambat adalah bahawa ia menyebabkan ahli profesional anti-virus lebih sukar untuk memperoleh sampel-sampel yang mewakili virus kerana fail-fail umpan yang terjangkit dalam setiap jalanan biasanya akan mengandungi sampel-sampel virus yang sama atau serupa. Ini akan mengakibatkan pengesan pengimbas virus lebih mungkin tidak boleh dipercayai, dengan virus-virus itu kekadangnya dapat mengelakkan pengesanan.

Kod metamorf

Untuk mengelakkan pengesanan melalui perlagakan, sesetengah virus menulis semula keseluruhan diri setiap kali sejurus sebelum menjangkiti fail boleh laku yang baru. Virus-virus yang menggunakan teknik ini dikatakan bersifat metamorf. Untuk membolehkan metamorfisme, sebuah enjin metamorf diperlukan. Virus metamorf biasanya amat besar dan rumit. Sebagai contoh, W32/Simile terdiri daripada melebihi 14 ribu garis kod bahasa himpunan, dengan 90% daripadanya merupakan bahagian enjin metamorf.